﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QLVatTu.Class;
using System.Data.SqlClient;

namespace QLVatTu.DanhMuc
{
    public partial class frmNhanVien : Form
    {
        public frmNhanVien()
        {
            InitializeComponent();
        }

        KetNoiDB cn = new KetNoiDB();
        string tag = "";

        private void load_button(string tag)
        {
            if (tag == "them")
            {
                btnThem.Enabled = false;
                btnSua.Enabled = false;
                btnXoa.Enabled = false;

                btnLuu.Enabled = true;
                btnHuy.Enabled = true;

                txtMaNhanVien.Enabled = false;
                txtTenNhanVien.Text = "";
                txtTenNhanVien.Enabled = true;
                dtpNgaySinh.Enabled = true;
                cmbGioiTinh.Enabled = true;
                txtDiaChi.Text = "";
                txtDiaChi.Enabled = true;
                txtDienThoai.Text = "";
                txtDienThoai.Enabled = true;
                cmbPhongBan.Enabled = true;
                cmbChucVu.Enabled = true;
            }
            else if (tag == "sua")
            {
                btnThem.Enabled = false;
                btnSua.Enabled = false;
                btnXoa.Enabled = false;

                btnLuu.Enabled = true;
                btnHuy.Enabled = true;

                txtMaNhanVien.Enabled = false;
                txtTenNhanVien.Enabled = true;
                dtpNgaySinh.Enabled = true;
                cmbGioiTinh.Enabled = true;
                txtDiaChi.Enabled = true;
                txtDienThoai.Enabled = true;
                cmbPhongBan.Enabled = true;
                cmbChucVu.Enabled = true;
            }
            else
            {
                btnThem.Enabled = true;
                btnSua.Enabled = true;
                btnXoa.Enabled = true;

                btnLuu.Enabled = false;
                btnHuy.Enabled = false;

                txtMaNhanVien.Enabled = false;
                txtTenNhanVien.Enabled = false;
                dtpNgaySinh.Enabled = false;
                cmbGioiTinh.Enabled = false;
                txtDiaChi.Enabled = false;
                txtDienThoai.Enabled = false;
                cmbPhongBan.Enabled = false;
                cmbChucVu.Enabled = false;
            }
        }

        private void load_grid()
        {
            if (cn.KetNoi())
            {
                DataTable tbl = cn.getTable("select row_number() over(order by MaNhanVien) as STT,tbl_NhanVien.MaNhanVien, tbl_NhanVien.TenNhanVien, tbl_NhanVien.NgaySinh, tbl_NhanVien.GioiTinh, tbl_NhanVien.DiaChi, tbl_NhanVien.DienThoai, tbl_NhanVien.MaPhongBan, tbl_PhongBan.TenPhongBan, tbl_NhanVien.MaChucVu, tbl_ChucVu.TenChucVu from tbl_ChucVu INNER JOIN tbl_NhanVien ON tbl_ChucVu.MaChucVu = tbl_NhanVien.MaChucVu INNER JOIN tbl_PhongBan ON tbl_NhanVien.MaPhongBan = tbl_PhongBan.MaPhongBan");
                dtgNhanVien.DataSource = tbl;
            }
        }

        private void frmNhanVien_Load(object sender, EventArgs e)
        {
            load_button(tag);

            cn.KetNoi();
            colGioiTinh.DataSource = cn.getTable("select GioiTinh," + " nameGT=case GioiTinh when 1 then N'Nam'" + " when 0 then N'Nữ' end from tbl_NhanVien");
            colGioiTinh.DisplayMember = "nameGT";
            colGioiTinh.ValueMember = "GioiTinh";

            cmbGioiTinh.DataSource = cn.CreateGioiTinh();
            cmbGioiTinh.DisplayMember = "TenGioiTinh";
            cmbGioiTinh.ValueMember = "GioiTinh";

            cmbPhongBan.DataSource = cn.getTable("select * from tbl_PhongBan");
            cmbPhongBan.DisplayMember = "TenPhongBan";
            cmbPhongBan.ValueMember = "MaPhongBan";

            cmbChucVu.DataSource = cn.getTable("select * from tbl_ChucVu");
            cmbChucVu.DisplayMember = "TenChucVu";
            cmbChucVu.ValueMember = "MaChucVu";

            load_grid();
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            tag = "them";
            load_button(tag);
            txtMaNhanVien.Text = cn.SinhMa("MaNhanVien", "tbl_NhanVien", "NV");
        }

        private void btnSua_Click(object sender, EventArgs e)
        {
            tag = "sua";
            load_button(tag);
        }

        private void btnHuy_Click(object sender, EventArgs e)
        {
            load_button("");
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            if (this.TopLevel == false) this.Parent.Parent.Controls.Remove(this.Parent);
            else this.Close();
        }

        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (tag == "them")
            {
                if (txtTenNhanVien.Text.ToString().Trim() == "")
                {
                    MessageBox.Show("Bạn chưa nhập tên nhân viên", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    txtTenNhanVien.Focus();
                    return;
                }
                else if (txtDiaChi.Text.ToString().Trim() == "")
                {
                    MessageBox.Show("Bạn chưa nhập địa chỉ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    txtDiaChi.Focus();
                    return;
                }
                else if (txtDienThoai.Text.ToString().Trim() == "")
                {
                    MessageBox.Show("Bạn chưa nhập số điện thoại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    txtDienThoai.Focus();
                    return;
                }
                string TenNhanVien = cn.LayDuLieu("select TenNhanVien from tbl_NhanVien where lower(TenNhanVien)='" + txtTenNhanVien.Text.ToLower() + "'");
                if (TenNhanVien != "")
                {
                    MessageBox.Show("Nhân viên này đã tồn tại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    txtTenNhanVien.Focus();
                    return;
                }
                cn.Insert_Table("tbl_NhanVien", "MaNhanVien,TenNhanVien,NgaySinh,GioiTinh,DiaChi,DienThoai,MaPhongBan,MaChucVu", "'" + txtMaNhanVien.Text + "',N'" + txtTenNhanVien.Text + "','" + dtpNgaySinh.Value.ToString("yyyy-MM-dd") + "','" + cmbGioiTinh.SelectedValue.ToString() + "',N'" + txtDiaChi.Text + "','" + txtDienThoai.Text + "','" + cmbPhongBan.SelectedValue.ToString() + "','" + cmbChucVu.SelectedValue.ToString() + "'");
            }
            else
            {
                cn.Update_Table("tbl_NhanVien", "TenNhanVien=N'" + txtTenNhanVien.Text + "',NgaySinh='" + dtpNgaySinh.Value.ToString("yyyy-MM-dd") + "',GioiTinh='" + cmbGioiTinh.SelectedValue.ToString() + "',DiaChi=N'" + txtDiaChi.Text + "',DienThoai='" + txtDienThoai.Text + "',MaPhongBan='" + cmbPhongBan.SelectedValue.ToString() + "',MaChucVu='" + cmbChucVu.SelectedValue.ToString() + "'", "MaNhanVien='" + txtMaNhanVien.Text + "'");
            }
            load_button("");
            load_grid();
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            if (dtgNhanVien.RowCount > 0)
            {
                DialogResult msg = MessageBox.Show("Bạn có muốn xóa không?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (msg == DialogResult.Yes)
                {
                    cn.Delete_Table("tbl_NhanVien", "MaNhanVien='" + txtMaNhanVien.Text + "'");
                    load_button("");
                    load_grid();
                }
            }
        }

        private void dtgNhanVien_SelectionChanged(object sender, EventArgs e)
        {
            if (dtgNhanVien.SelectedRows.Count > 0 && dtgNhanVien.CurrentRow.Cells["MaNhanVien"].Value != null)
            {
                try
                {
                    txtMaNhanVien.Text = dtgNhanVien.CurrentRow.Cells["MaNhanVien"].Value.ToString();
                    txtTenNhanVien.Text = dtgNhanVien.CurrentRow.Cells["TenNhanVien"].Value.ToString();
                    dtpNgaySinh.Value = Convert.ToDateTime(dtgNhanVien.CurrentRow.Cells["NgaySinh"].Value.ToString());
                    cmbGioiTinh.SelectedValue = dtgNhanVien.CurrentRow.Cells["colGioiTinh"].Value.ToString();
                    txtDiaChi.Text = dtgNhanVien.CurrentRow.Cells["DiaChi"].Value.ToString();
                    txtDienThoai.Text = dtgNhanVien.CurrentRow.Cells["DienThoai"].Value.ToString();
                    cmbPhongBan.SelectedValue = dtgNhanVien.CurrentRow.Cells["MaPhongBan"].Value.ToString();
                    cmbChucVu.SelectedValue = dtgNhanVien.CurrentRow.Cells["MaChucVu"].Value.ToString();
                }
                catch { }
            }
        }
    }
}
